Virtual reality (“VR”) devices enable users to view and interact with virtual environments. For example, a VR device might enable a user to explore a virtual environment. Augmented reality (“AR”) devices enable users to view and interact with virtual objects while simultaneously viewing the physical world around them. For example, an AR device might enable a user to view the placement of virtual furniture in a real-world room. Devices that enable both VR and AR experiences might be referred to as mixed reality (“MR”) devices. VR devices, AR devices, and MR devices are also commonly referred to as near-eye devices (“NED”).
In AR and VR devices it is commonly necessary to detect the height of a three-dimensional (“3D”) plane corresponding to the real-world floor of the room in which a user is using a device. Locating the real-world floor is important for comfortable and immersive VR and AR experiences, as accurate detection of the real-world floor allows the placement of the floor in a VR scene at a location that seems natural to a user. In an AR scenario, accurate detection of the real-world floor enables virtual objects to be presented at the proper location with reference to the real-world floor.
Inaccurate identification of the floor can also lead to less immersive AR and VR experiences. For instance, if the height of the floor is computed incorrectly, a user might appear to be floating above or walking below the virtual floor. Virtual objects might also be placed incorrectly such as, for instance, placing furniture in mid-air or below the real-world floor. Additionally, if the virtual floor is misaligned, a user might be unable to pick up virtual objects off the virtual floor or might strike the real-world floor with a handheld controller. A user might also stumble or fall, particularly in VR environments, if the virtual floor is displayed at an incorrect location.
Current mechanisms for detecting the real-world floor commonly misidentify the location of the real-world floor. For instance, one mechanism first asks the user to hold their device pointed toward a computer, such as a desktop computer. The location of the floor (i.e. the floor depth) is then set using an approximation of the user's seated head height (e.g. 48 inches). As a result, if the user is at a standing desk or in another standing position, the location of the virtual floor will be incorrectly set to somewhere near the user's knees. Other mechanisms for setting the height of the real-world floor require users to manually input their height or the device height, which can also be problematic.
Setting the floor depth incorrectly in the manner described above can cause the human-machine interface to operate inaccurately, which commonly results in the user having to repeat the floor detection procedure. Repeating the floor detection procedure can, however, waste valuable computing resources, such as processor cycles and battery power. Moreover, erroneous user input might be provided to a device as a result of inaccurate floor detection such as, for instance, a user interacting with a virtual object that has been placed at an incorrect location in the virtual world. This might also result in inefficient usage of processing resources in addition to a frustrating user experience.
It is with respect to these and potentially other considerations that the disclosure made herein is presented.